# -*- coding: utf-8 -*-

from django.contrib import admin
from models import *
from django import forms
from django.http.response import HttpResponseRedirect

class ProdutoForm(forms.ModelForm):
    preco_de_venda = forms.DecimalField(max_digits=10, decimal_places=2, localize=True)
    preco_de_compra = forms.DecimalField(max_digits=10, decimal_places=2, localize=True, required = False)

    class Meta:
        model = Produto
        
class AdminCategoria(admin.ModelAdmin):
    search_fields= ['nome_categoria']
    ordering = ['nome_categoria']
    
    save_on_top = True

class AdminSetor(admin.ModelAdmin):
    list_display = ('nome_setor', 'notificar', 'destino')
    list_editable = ('notificar', 'destino')
    search_fields= ['nome_setor']
    ordering = ['nome_setor']
    
    save_on_top = True

class AdminProduto(admin.ModelAdmin):
    form = ProdutoForm

    # prepopulated_fields = {"descricao_impressao": ("descricao",)}
    class Media:
        js = ['/static/admin/js/estoque.js']
        
    list_display = ('descricao', 'preco_de_venda', 'categoria', 'quantidade', 'unidade', 'quantidade_vendida', 'aviso', 'codigo')
    list_editable = ('preco_de_venda', 'categoria', 'quantidade', 'unidade',)
    search_fields= ['descricao','codigo', 'setor__nome_setor', 'categoria__nome_categoria']
    readonly_fields = ('quantidade_vendida', 'aviso',)
    ordering = ['descricao']
    
    save_on_top = True
    # list_per_page = 2
    
    def response_add(self, request, obj, post_url_continue="../%s/"):
        if not '_continue' in request.POST:
            return HttpResponseRedirect('/estoque/produto/')
        else:
            return super(AdminProduto, self).response_add(request, obj, post_url_continue)
    
    def response_change(self, request, obj):
        if not '_continue' in request.POST:
            return HttpResponseRedirect('/estoque/produto/')
        else:
            return super(AdminProduto, self).response_change(request, obj)
        

admin.site.register(Categoria, AdminCategoria)
admin.site.register(Setor, AdminSetor)
admin.site.register(Produto, AdminProduto)
